function [Hf_this] = YW_Plot_Fast(plotData, lineStyle, legendString, xyLabel)
    %YW_PLOT_FAST 快速绘图
    %@since 2022.4.22
    %@update: 更新注释文件
    % 2022-05-24 11:28:23 更改为 8X6cm 相对标准图形
    %    *参数说明*
    %       @param [plotData] 绘图数据.
    %       @param [lineStyle] 线型设置.
    %       @param [legendString] 图例.
    %       @param [xyLabel] xy轴标题.
    %       @return [Hf_this] 窗口句柄.
    %    *使用说明*
    %       1. HF=YW_PLOT_FAST({x1}）
    %       2. HF=YW_PLOT_FAST({x1,y1,x2,y2});
    %       3. HF=YW_PLOT_FAST({x1,y1,x2,y2},{"r*-","g:"});
    %       4. HF=YW_PLOT_FAST({x1,y1,x2,y2},{"r*-","g:"},["Y1","Y2"]);
    %       5. HF=YW_PLOT_FAST({x1,y1,x2,y2},{"r*-","g:"},["\fontname{楷体}Y1","Y2"],["xaxis",'yaxis']);
    %
    % ———————————————— POWERED BY YINWEI ————————————————

    %% 此处定义一些默认的值
    MarkerSize = 3;
    Interpreter = 'latex'; % 如果不使用中文的话,改成latex效果更好
    FontSize = 12;
    FontName = 'Times New Roman'; %Helvetica Arial
    % nargin;
    xaxis1_color = 'k'; %[0 0 0];
    yaxis1_color = 'k'; %[0.00, 0.45, 0.74];
    Linewidth_box = 1; % 坐标轴，图例的线框宽度
    Line_Width = 2; %线条的宽度
    % fig_size = [500 100 560 420]; %figure大小

    fig_size = [374.25, 219.17, 226.77, 170.08]; %figure大小 8cm X 6cm
    % fig_size = [100 + 1000 * rand(1), 150 + 250 * rand(1), 226.77, 170.08]; %figure大小 8cm X 6cm

    %% 设置图形窗口参数
    Hf_this = figure;
    set(Hf_this, 'Color', 'white') % 背景颜色,也可用RGB,如[110]
    set(Hf_this, 'Renderer', 'painters') % 渲染器
    set(Hf_this, 'Units', 'points') % 单位，默认是pixels,归一化为'normalized' 'centimeters' 'points'
    set(Hf_this, 'Position', fig_size) % 含义分别为左和下边缘到窗口，宽，高，4:3

    %% 绘图区
    handAxes = gca; % get the axes object

    if size(plotData, 2) == 1
        % 只有一个Y值的情况

        if ~exist('lineStyle', 'var') || isempty(lineStyle)
            H1(1) = plot(plotData{1}, 'linewidth', Line_Width);
        else
            H1(1) = plot(plotData{1}, lineStyle{1}, 'linewidth', Line_Width);
        end

    else

        for numOfGroups = 1:size(plotData, 2) / 2 % 判断有多少组曲线
            X = plotData{2 * numOfGroups - 1};
            Y = plotData{2 * numOfGroups};
            % 每条线生成一个句柄，用来与有两个图层时的图例对应
            if ~exist('lineStyle', 'var') || isempty(lineStyle)
                H1(numOfGroups) = plot(X, Y, 'linewidth', Line_Width, 'MarkerSize', MarkerSize);
            else
                H1(numOfGroups) = plot(X, Y, lineStyle{numOfGroups}, 'linewidth', Line_Width, 'MarkerSize', MarkerSize);
            end

            hold on;
            % box off;
        end

    end

    %% 标签，图注
    if exist('legendString', 'var') && ~isempty(legendString)
        Hlgd = legend;
        set(Hlgd, 'String', legendString);
        set(Hlgd, 'FontName', FontName);
        set(Hlgd, 'FontSize', FontSize - 2);
        set(Hlgd, 'LineWidth', Linewidth_box)
        set(Hlgd, 'TextColor', [0.00, 0.45, 0.74]); %yaxis1_color )
        set(Hlgd, 'Location', 'best') % best,详细阅读手册
        % set(Hlgd, 'Interpreter', Interpreter);
        set(Hlgd, 'Box', 'off') %是否 删除图例轮廓
        set(Hlgd, 'color', 'none');
        set(Hlgd, 'FontWeight', 'bold');
    end

    set(handAxes, 'lineWidth', Linewidth_box, ...
        'FontName', FontName, ...
        'XColor', xaxis1_color, ...
        'YColor', yaxis1_color, ...
        'FontSize', FontSize - 2, ...
        'FontWeight', 'bold'); %normal bold
    set(handAxes, 'color', 'none'); % 轴的背景颜色
    % set(handAxes, 'XMinorTick', 'on'); %打开小刻度
    handAxes.TickDir = 'in'; % 刻度方向 out in both

    if exist('xyLabel', 'var') && ~isempty(xyLabel)
        xlabel(xyLabel(1), 'FontSize', FontSize, 'FontWeight', 'bold');
        ylabel(xyLabel(2), 'FontSize', FontSize, 'FontWeight', 'bold');
    end

    %% 其它设置
    box on; %是否显示边框

    disp("Congratulations! Plot Done!");
end

%% colors
% https://blog.csdn.net/wang1qqqq/article/details/94459631
